]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
environment: improve Object.toString for delegate objects
authorDan Winship <danw@gnome.org>
Wed, 6 Apr 2011 14:40:01 +0000 (10:40 -0400)
committerDan Winship <danw@gnome.org>
Tue, 26 Apr 2011 12:19:43 +0000 (08:19 -0400)
If a JS object has an 'actor' property pointing to a ClutterActor,
include the actor's toString() output in the delegate's toString()
output. Eg:

  js>>> Main.panel
  [object Object delegate for 0xff6080 StBoxLayout.menu-bar "panel" ("Activities")]

https://bugzilla.gnome.org/show_bug.cgi?id=646919

js/ui/environment.js

index 9061a7723d9168865f03924a4e136b39fdfadbf0..758a2cbfb01b294ec87d5d32553b1672ed47804a 100644 (file)
@@ -88,6 +88,15 @@ function init() {
         return St.describe_actor(this);
     };
 
+    let origToString = Object.prototype.toString;
+    Object.prototype.toString = function() {
+        let base = origToString.call(this);
+        if ('actor' in this && this.actor instanceof Clutter.Actor)
+            return base.replace(/\]$/, ' delegate for ' + this.actor.toString().substring(1));
+        else
+            return base;
+    };
+
     if (window.global === undefined) // test environment
         return;